#ifdef SPH_3D
#define SPH_DIM 3
#else
#define SPH_DIM 2
#endif
! This file is part of ti-sph.
!> author: 左志华
!> date: 2022-10-22
!>
!> 储存全局变量，方便其它例程调用
module sph_env

    use sph_kinds, only: rk

    !> 时间积分中需要重复用到的临时速度项
    real(rk), allocatable, dimension(:, :) :: vmin
    !> 时间积分中需要重复用到的临时密度、内能项
    real(rk), allocatable, dimension(:) :: rmin, umin
    logical :: has_rigid = .false.  !! 是否有刚体
    integer, parameter :: dim = SPH_DIM  !! 空间维数
    integer :: nums(5)  !! 特征整型：实粒子数、虚粒子数、刚体粒子数、粒子总数、刚体数
    real(rk) :: hsml  !! 光滑长度

end module sph_env